
package com.be.beadmin.product.service;

import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.product.dto.input.GuideBookFileInfoDto;
import com.be.beadmin.product.dto.output.GuideBookFileInfoEx;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;

/**
* @description 服务接口
* @author cms
* @date 2023-09-19
**/
public interface GuideBookFileInfoService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<GuideBookFileInfoEx> getGuideBookFileInfoByPage(PageEntity pageEntity);


    /**
     * 查询接口关联柜体（非标 & 标准柜）
     * @param batchProductId
     * @return
     */
    List<GuideBookFileInfoEx> getGuideBookFileInfoBybatchProductId(String batchProductId);


    /**
    * @param guideBookFileInfoDto
    */
    void addGuideBookFileInfo(GuideBookFileInfoDto guideBookFileInfoDto);
    /**
    * @param guideBookFileInfoDto
    */
    void updateGuideBookFileInfo(GuideBookFileInfoDto guideBookFileInfoDto);

    /**
    * @param id
    */
    void delGuideBookFileInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delGuideBookFileInfos (List<String> ids);

    void uploadGuideBookFileInfo(String uploaderId, String uploaderName, Date uploadTime, String instruction, MultipartFile[] multipartFiles);

    void uploadGuideBookFileInfo(GuideBookFileInfoDto guideBookFileInfoDto, MultipartFile[] multipartFiles);

    String getGuideBookFileInfoPreviewUrl(GuideBookFileInfoDto guideBookFileInfoDto);


    void downloadGuideBookFile(GuideBookFileInfoDto guideBookFileInfoDto,HttpServletResponse response);

}